package com.authine.cloudpivot.ext.dto.model.settle;

import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * 导出付款单
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class SettlePayReport implements Serializable {

    private static final long serialVersionUID = 6003144587220607499L;

    @ApiModelProperty(value = "结算单编号", hidden = true)
    private String id;

    @ApiModelProperty("结算单打印次数")
    private Integer printCount;

    @ApiModelProperty("供应商订单号")
    private String vendorOrderIds;

    @ApiModelProperty("发票号码")
    private String number;

    @ApiModelProperty("申请付款时间")
    private String applyTime;

    @ApiModelProperty("备注")
    private String purchaseMemo;

    @ApiModelProperty("供应商名称")
    private String saleOrganizationName;

    @ApiModelProperty("开户行")
    private String saleBankInfo;

    @ApiModelProperty("银行账号")
    private String saleBankNo;

    @ApiModelProperty("应付合计")
    private BigDecimal total;

    @ApiModelProperty("运费小计")
    private Double freight;

    @ApiModelProperty("平台服务费")
    private BigDecimal platform;

    @ApiModelProperty("供应链金融")
    private BigDecimal interest;

    @ApiModelProperty("实付合计=应付合计-金融-服务")
    private BigDecimal amount;

    @ApiModelProperty("客户订单号")
    private String customerOrderIds;

    @ApiModelProperty("审批意见")
    private String approvalReason;

    @ApiModelProperty("对应平台名称")
    private String purchaseOrganizationName;

    @ApiModelProperty("对应平台组织ID")
    private String purchaseOrganizationId;

}
